1. Field of the Invention
The present invention relates to rotating media storage devices. More particularly, the present invention relates to an apparatus and method for adaptively modifying a read caching algorithm based upon the detection of a vibration state within a rotating media storage device to optimize data transfer rates to and from the media in a vibrating operational environment.
2. Description of the Prior Art and Related Information
Computer systems rely on rotating media storage devices (RMSDs) which employ a moveable head actuator to frequently access large amounts of data stored on the media, one example of which is a hard disk drive. One critical aspect of designing a RMSD in an extremely competitive market is its performance, typically measured by benchmark programs. The benchmark programs measure, among other things, the time required to perform a series of data transfer commands such as read commands. The time required to execute a given command is dependent on several factors including mechanical latency, cache size, and the efficiency of cache management.
One key aspect of mechanical latency in a RMSD is media rotational speed. In a competitive environment, products such as disk drives at a comparable price point offer comparable rotational speeds. Another aspect of mechanical latency is seek time, which generally measures the time required to move a head actuator from a current position to a target position. The seek time is determined by the mechanical characteristics of the head actuator, sometimes termed head stack assembly, and a seek profile which defines, during the time the actuator is accelerated and decelerated en route to the target position, an instantaneous desired velocity or acceleration/deceleration designed to achieve an efficient and predictable arrival of the head supported by the actuator over the target position on the media. Disk drive makers work diligently to improve the mechanics of the head stack assembly and the seek profile used to manage the seek operation. Nevertheless, disk drives at comparable price points tend to exhibit similar seek time characteristics.
In one approach to mitigating mechanical latency, disk drives have queued a series of commands and reordered their execution according to a variety of latency schemes which attempt to minimize thrashing the actuator between target locations. Several of such schemes are outlined in European patent EP 0 757 310 A2 to Chen et al, (CHEN) including SSTF (shortest seek time first) which assigns a seek time based on xe2x80x9cthe number of tracks the arm crosses,xe2x80x9d and STF (shortest time first) which assigns a latency based on both seek time and rotational latency. Another patent U.S. Pat. No. 5,729,718 to Au discloses command queue reordering driven by latency calculations.
In another aspect, queued commands specifying sequential data areas have been coalesced into contiguous operations to improve execution efficiency. Despite these measures, opportunity exists for further performance improvement. Presently, disk drives which employ the Enhanced IDE (EIDE) interface or equivalents are effectively operated in a single thread (one command at a time) environment from the host viewpoint and have somewhat limited options for command queuing compared to SCSI disk drives where the host computer can cooperate with command queuing.
In another effort to overcome limitations imposed by mechanical latency, disk drives have employed cache memory to reduce command execution time by providing host computer-requested data from a cache memory, rather than from the disk directly. This technique is useful because host computer programs frequently request (read) data that is repetitive or co-located or sequential with previously requested data. The disk drive, having anticipated such requests, is able to furnish data from a semiconductor memory and thus avoid mechanical latency. The process of reading data which is co-located or sequential with host requested data is often termed xe2x80x9cread-aheadxe2x80x9d and may involve reading data which precedes the host-requested data (pre-read) and data which follows the host-requested data (post-read). Utilizing these types of read caching algorithms improves data transfer rates. U.S. Pat. No. 5, 133,060 to Weber et al for example discloses a look-ahead (read-ahead) strategy for a cached disk drive.
Looking at FIG. 1A, an example of a standard read caching algorithm utilizing post-reads in a non-vibrating operational environment is illustrated. Data 10 is read along Track-1 and a seek command to Track-2 is received at point 12. Consequent to this event, the time to seek to the second track is calculated. The read caching algorithm typically performs a post-read 14 along Track-1 and a seek is initiated at point 13. Line 15 illustrates the movable head of the RMSD moving from Track-1 to Track-2. Particularly, as line 15 illustrates, the movable head seeks and settles to Track-2. A read condition is then met such that the seek and settle operation is complete and an on-track condition is declared at point 16. The read caching algorithm then typically performs a pre-read 17 on-track-2 and then further proceeds to read the desired data 18. As previously discussed, by performing the post-read 14 and further the pre-read 17, and reading this data into semiconductor memory, the overall data transfer rate can be improved. Unfortunately, this only holds true in a non-vibrating operational environment.
As shown in FIG. 1B, an example of a standard read caching algorithm utilizing post-reads in a vibrating operational environment is illustrated. Here, data 20 is read along Track-1 and a seek command to Track-2 is received at point 22. Consequent to this event, the time to seek to the second track is calculated. The read caching algorithm typically performs a post-read 24 along Track-1 and the seek is initiated at point 23 based on the calculated time to seek to the second track. Line 25 illustrates the movable head of the RMSD moving from Track-1 to Track-2 in a vibrating operational environment. Particularly, as line 25 illustrates, the movable head is subjected to vibration while seeking and settling to Track-2.
However, due to the vibrating operational environment, the movable head does not settle on the required track until point 16 (at which point reading can begin). Thus, the moveable head does not settle on the intended pre-read portion 17. Unfortunately, the pre-read portion 17 and missed data 18 still need to be read and the disk of the RMSD must perform another revolution to capture the missed data. This results in an entirely wasted revolution of the disk and seriously degrades the data transfer rate of the RMSD.
The present invention relates to adaptively modifying a read caching algorithm based upon the detection of a vibration state within a rotating media storage device (RMSD) to optimize data transfer rates to and from the media in a vibrating operational environment.
In one aspect, the invention may be regarded as a RMSD connected to a host computer that is subject to periods of sustained vibration which can cause a vibration state to exist. The RMSD includes a disk having at least a first track and a second track, a moveable head, a cache memory and a microprocessor for controlling operations in the RMSD including seek operations and a read caching algorithm for read operations that include pre-read operations and post-read operations. The RMSD further includes a means for monitoring for the existence of a vibration state. If a vibration state is detected, the microprocessor of the RMSD under the control of a program modifies the read caching algorithm based on the vibration state to optimize data transfer rates to and from the media in a vibrating operational environment.
In a more particular aspect, the invention may be regarded as a RMSD connected to a host computer that is subject to periods of sustained vibration which can cause a vibration state to exist that utilizes even more detailed steps to optimize data transfer rates to and from the media in the vibrating operational environment. Again, the RMSD includes a disk having at least a first track and a second track, a moveable head, a cache memory and a microprocessor for controlling operations in the RMSD including seek operations and a read caching algorithm for read operations that include pre-read operations and post-read operations. The RMSD further includes a means for monitoring for the existence of a vibration state. If a vibration state is detected, the microprocessor of the RMSD under the control of a program estimates a read access time to the second track from the first track based on the vibration state, modifies the read caching algorithm based on the vibration state, and commands the moveable head to seek to the second track in order to optimize data transfer rates to and from the media in the vibrating operational environment.
Preferably, the microprocessor modifies the read caching algorithm by adjusting the amount of post-read performed on the first track based on the vibration state. The microprocessor calculates an amount of post-read to be performed on the first track before seeking to the second track, in which, the amount of post-read is dependent upon a measured amount of vibration. Particularly, the amount of post-read to be performed on the first track may be inversely proportion to the measured vibration. Moreover, in one aspect, the microprocessor modifies the read caching algorithm based on the vibration state by eliminating the post-read operation of the first track and immediately commanding the moveable head to seek to the second track.
In still another aspect, the invention may also be regarded as a method for a RMSD to efficiently switch between a read operation on a first track of a disk to a second track and to then perform either a read or write operation on the second track, in a vibrating operational environment. The method comprises the steps of: monitoring for the existence of a vibration state; and if a vibration state is detected, estimating a read access time to the second track based on the vibration state, modifying a read caching algorithm based on the vibration state, and then seeking to the second track.
In yet another aspect, the invention may further be regarded as a computer system having a host computer and an RMSD, in which, the RMSD is subject to periods of sustained vibration causing a vibration state to exist. The RMSD includes a disk including at least a first track and a second track, a moveable head, a cache memory, and a microprocessor for controlling operations in the RMSD including seek operations and a read caching algorithm for read operations that include pre-read operations and post-read operations, and a means for monitoring for the existence of a vibration state. If a vibration state is detected, the microprocessor of the RMSD under the control of a program estimates a read access time to the second track from the first track based on the vibration state, modifies the read caching algorithm based on the vibration state, and commands the moveable head to seek to the second track in order to optimize data transfer rates to and from the media in a vibrating operational environment.
The foregoing and other features of the invention are described in detail below and set forth in the appended claims.